<template>
    <div class="page-auth">

    <menus class="site-header" title="title" />


      <div id="noCognitoMessage" class="configMessage" style="display: none;">
        <div class="backdrop"></div>
        <div class="panel panel-default">
            <div class="panel-heading">
                <h3 class="panel-title">No Cognito User Pool Configured</h3>
            </div>
            <div class="panel-body">
                <p>There is no user pool configured in <a href="/js/config.js">/js/config.js</a>. You'll configure this in Module 2 of the workshop.</p>
            </div>
        </div>
      </div>
      <header>
        <img src="/images/logo.png">
      </header>
      <div style="text-align:center;"> 
        <amplify-authenticator></amplify-authenticator>
      </div>
      <div class="container" style="text-align:center;">
          <h3 v-if="user">{{user.username}} is Logged in</h3>
          <a  v-if="user" class="home-button" href="/ride">Giddy Up!</a>
          
      </div>
    </div>

</template>


<script>
import profileForm from '@/components/profileForm.vue'
import footers from '@/components/footer.vue'
import menu from '@/components/menu.vue'

import { Auth, Storage, Logger } from 'aws-amplify'
import AmplifyStore from '../store/store';
export default {
  name: 'Auth',
  components:{
    profileForm: profileForm,
    footers: footers,
    menus: menu
  },
  data:  () => {
    const that = this;
    return {
      profilePic: false,
      imagePath: `${AmplifyStore.state.user.username}/avatar`,
      photoPickerConfig: {
        header: 'Upload Profile Pic',
        accept: 'image/*',
        path: `${AmplifyStore.state.user.username}/`,
        defaultName: 'avatar'
      },
      mfa: false,
      fields: [
        { type: 'string', name: 'email', label: 'Email' },
        { type: 'string', name: 'phone_number', label: 'Phone Number' }
      ],
    };
  },
  mounted(){
      //console.log('sdf')
      // console.log(Auth._config)
      
  },
  methods: {
    toggleAccordion: function(el) {
      this[el] = !this[el]
    },
  },
  computed: {
    mfaConfig: function() {
      let that = this;
      return {
        mfaDescription: 'My app\'s mfa description!!',
        mfaTypes: ['TOTP', 'SMS', 'None'],
        cancelHandler: function() {
          that.toggleAccordion('mfa')
        },
      }
    },
    user: function() { 
      return AmplifyStore.state.user 
    },
    profilePicAccordion: function() {
      return {
        'is-closed': !this.profilePic,
        'is-primary': this.profilePic,
        'is-dark': !this.profilePic
      };
    },
    mfaAccordion: function() {
      return {
        'is-closed': !this.mfa,
        'is-primary': this.mfa,
        'is-dark': !this.mfa
      };
    }
  }
}

</script>

<style scoped>
.page-auth{
  width: 100vw;
  height: 100vh;
  background-image: url(~/images/background.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  font-family: "fairplex-wide";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Logo */
header{
  width: 100vw;
  padding: 30px 0 100px;
}
header img{
  margin: 0 auto;
  display: block;
}
</style>